package com.jsrj.service.impl;

import com.jsrj.common.utils.DateUtils;
import com.jsrj.domain.Advertorial;
import com.jsrj.domain.Banner;
import com.jsrj.mapper.BannerMapper;
import com.jsrj.service.IBannerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * 【请填写功能名称】Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-09-04
 */
@Service
public class BannerServiceImpl implements IBannerService
{
    @Autowired
    private BannerMapper bannerMapper;

    /**
     * 查询【请填写功能名称】
     * 
     * @param bannerId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public Banner selectBannerByBannerId(Long bannerId)
    {
        return bannerMapper.selectBannerByBannerId(bannerId);
    }

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param banner 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<Banner> selectBannerList(Banner banner)
    {
        return bannerMapper.selectBannerList(banner);
    }

    /**
     * 新增【请填写功能名称】
     * 
     * @param banner 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertBanner(Banner banner)
    {
        return bannerMapper.insertBanner(banner);
    }




    /**
     * 修改【请填写功能名称】
     * 
     * @param banner 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateBanner(Banner banner)
    {
        return bannerMapper.updateBanner(banner);
    }

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param bannerIds 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteBannerByBannerIds(Long[] bannerIds)
    {
        return bannerMapper.deleteBannerByBannerIds(bannerIds);
    }

    /**
     * 删除【根据主键删除】信息
     * @param bannerId 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteBannerByBannerId(Long bannerId)
    {
        return bannerMapper.deleteBannerByBannerId(bannerId);
    }


    /**
     * 查询轮播图
     * @return
     */
    @Override
    public List<Banner> selectAll() {
        return bannerMapper.selectAll();
    }

    /**
     * 根据轮播图Id 查询对应软文
     */
    @Override
    public List<Advertorial> selectAdvertorialByBannerId(Long bannerId) {
        return bannerMapper.selectAdvertorialByBannerId(bannerId);
    }

//    /**
//     * 文件上传
//     * @param multipartFile
//     * @param dir
//     * @return
//     */
//    @Override
//    public Map<String,Object> uploadImg(MultipartFile multipartFile, String dir) {
//        try {
//
//            String realfilename = multipartFile.getOriginalFilename();
//            //2.截取文件名的后缀
//            String imgSuffix = realfilename.substring(realfilename.lastIndexOf("."));
//            //3.生成唯一的文件名
//            String newFileName = UUID.randomUUID().toString()+imgSuffix;
//            //4.日期目录
//            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
//            String datePath = dateFormat.format(new Date());
//            //5.指定文件上传以后的目录
//
//            String servrePath = uploadFolder;
//
//            File targetPath = new File(servrePath+dir,newFileName);
//            if (!targetPath.exists()) {
//                targetPath.mkdirs();
//            }
//            //6.指定文件上传到指定的目录
//            File targetFileName = new File(targetPath,newFileName);
//
//            //7.文件上传到指定的位置
//            multipartFile.transferTo(targetFileName);
//
//            //可访问的路径
//            String filename = dir+"/"+datePath+"/"+newFileName;
//
//            Map<String,Object> map = new HashMap<>();
//            //绝对路径
//            map.put("url",staticPath+"/upload/"+filename);
//            map.put("size",multipartFile.getSize());
//            //后缀
//            map.put("ext",imgSuffix);
//            //名称
//            map.put("filename",realfilename);
//            //相对路径
//            map.put("rpath",dir+"/"+datePath+"/"+newFileName);
//
//            return map;
//        } catch (IOException e) {
//            e.printStackTrace();
//            return null;
//        }
//    }

    /**
     * 新增轮播图
     *
     * @return 结果
     */
    @Override
    public int insertAbucoderBanners(Banner banner)
    {
        banner.setCreateTime(DateUtils.getNowDate());
        return bannerMapper.insertBanner(banner);
    }


}
